#ifndef _STRAWGUI_LIBRARY_H_
#define _STRAWGUI_LIBRARY_H_

#include "sResource.h"
#include "sNamedObject.h"
#include "sNamedObjectContainer.h"
#include "sResourcePreset.h"

namespace sgui
{

class sLibrary : public sNamedObject
{
private:
    CONTAINER_WRAPPER(res::sResource) m_resources;
    CONTAINER_WRAPPER(preset::sPreset) m_presets;
public:
	CONTAINER_WRAPPER(res::sResource)& getResources();
	CONTAINER_WRAPPER(preset::sPreset)& getPresets();

    void load(const db::Record &file);
    void save(db::Record &file);
    void clear();

#ifdef _EDITOR
	void exportRTTI(rtti::sInfoList& list);
#endif

    sLibrary(sGUI&gui, const std::wstring& name);
};

};

#endif